﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace KPIS.GERP.GFMS.MODEL
{
    [Serializable]
    public class M_FIM_Petitions
    {
        private int PETITION_SEQ;
        private Nullable<int> BGM_SOURCE_SEQ;
        private Nullable<int> BGM_YEAR;
        private Nullable<DateTime> PETITION_DATE;
        private string REF_NO;
        private string DIRECT_PAY;
        private string PETITION_TYPE;
        private Nullable<int> TRAN_GRP_SEQ;
        private string REMARKS;
        private Nullable<DateTime> REAL_PETITION_DATE;
        private string PETITION_NO;

        private Nullable<int> BGM_EXP_GRP_SEQ;
        private string BGM_SOURCE_NAME;
        private string PETITION_TYPE_NAME;
        private Nullable<double> SUM_AMOUNT;
        private Nullable<double> SUM_AMOUNT_TAX;
        private Nullable<double> SUM_AMOUNT_PENALTY;
        private Nullable<double> SUM_AMOUNT_REDEMPTION;
        private Nullable<double> SUM_AMOUNT_FUND;
        private Nullable<double> SUM_AMOUNT_REAL;

        private Nullable<int> BGM_STRAT_LIST_SEQ;
        private M_FIM_Receives M_FIM_RECEIVES;

        private Nullable<int> APPROVED_BY;
        private Nullable<DateTime> APPROVED_WHEN;
        private string RECORD_STATUS;
        private string RECORD_STATUS_NAME;
        private Nullable<int> CREATED_BY;
        private Nullable<DateTime> CREATED_WHEN;
        private Nullable<int> UPDATED_BY;
        private Nullable<DateTime> UPDATED_WHEN;

        public M_FIM_Petitions()
        {

        }

        public M_FIM_Petitions(
            int PETITION_SEQ
            , Nullable<int> BGM_SOURCE_SEQ
            , Nullable<int> BGM_YEAR
            , Nullable<DateTime> PETITION_DATE
            , string REF_NO
            , string DIRECT_PAY
            , string PETITION_TYPE
            , Nullable<int> TRAN_GRP_SEQ
            , string REMARKS
            , Nullable<DateTime> REAL_PETITION_DATE
            , string PETITION_NO

            , Nullable<int> BGM_EXP_GRP_SEQ
            , string BGM_SOURCE_NAME
            , string PETITION_TYPE_NAME
            , Nullable<double> SUM_AMOUNT
            , Nullable<double> SUM_AMOUNT_TAX
            , Nullable<double> SUM_AMOUNT_PENALTY
            , Nullable<double> SUM_AMOUNT_REDEMPTION
            , Nullable<double> SUM_AMOUNT_FUND
            , Nullable<double> SUM_AMOUNT_REAL

            , Nullable<int> APPROVED_BY
            , Nullable<DateTime> APPROVED_WHEN
            , string RECORD_STATUS
            , string RECORD_STATUS_NAME
            , Nullable<int> CREATED_BY
            , Nullable<DateTime> CREATED_WHEN
            , Nullable<int> UPDATED_BY
            , Nullable<DateTime> UPDATED_WHEN)
        {
            this.PETITION_SEQ = PETITION_SEQ;
            this.BGM_SOURCE_SEQ = BGM_SOURCE_SEQ;
            this.BGM_YEAR = BGM_YEAR;
            this.PETITION_DATE = PETITION_DATE;
            this.REF_NO = REF_NO;
            this.DIRECT_PAY = DIRECT_PAY;
            this.PETITION_TYPE = PETITION_TYPE;
            this.TRAN_GRP_SEQ = TRAN_GRP_SEQ;
            this.REMARKS = REMARKS;
            this.REAL_PETITION_DATE = REAL_PETITION_DATE;
            this.PETITION_NO = PETITION_NO;

            this.BGM_EXP_GRP_SEQ = BGM_EXP_GRP_SEQ;
            this.BGM_SOURCE_NAME = BGM_SOURCE_NAME;
            this.PETITION_TYPE_NAME = PETITION_TYPE_NAME;
            this.SUM_AMOUNT = SUM_AMOUNT;
            this.SUM_AMOUNT_TAX = SUM_AMOUNT_TAX;
            this.SUM_AMOUNT_PENALTY = SUM_AMOUNT_PENALTY;
            this.SUM_AMOUNT_REDEMPTION = SUM_AMOUNT_REDEMPTION;
            this.SUM_AMOUNT_FUND = SUM_AMOUNT_FUND;
            this.SUM_AMOUNT_REAL = SUM_AMOUNT_REAL;

            this.APPROVED_BY = APPROVED_BY;
            this.APPROVED_WHEN = APPROVED_WHEN;
            this.RECORD_STATUS = RECORD_STATUS;
            this.RECORD_STATUS_NAME = RECORD_STATUS_NAME;
            this.CREATED_BY = CREATED_BY;
            this.CREATED_WHEN = CREATED_WHEN;
            this.UPDATED_BY = UPDATED_BY;
            this.UPDATED_WHEN = UPDATED_WHEN;
        }

        public int petition_seq
        {
            set { PETITION_SEQ = value; }
            get { return PETITION_SEQ; }
        }

        public Nullable<int> bgm_source_seq
        {
            set { BGM_SOURCE_SEQ = value; }
            get { return BGM_SOURCE_SEQ; }
        }

        public Nullable<int> bgm_year
        {
            set { BGM_YEAR = value; }
            get { return BGM_YEAR; }
        }

        public Nullable<DateTime> petition_date
        {
            set { PETITION_DATE = value; }
            get { return PETITION_DATE; }
        }

        public string ref_no
        {
            set { REF_NO = value; }
            get { return REF_NO; }
        }

        public string direct_pay
        {
            set { DIRECT_PAY = value; }
            get { return DIRECT_PAY; }
        }

        public string petition_type
        {
            set { PETITION_TYPE = value; }
            get { return PETITION_TYPE; }
        }

        public Nullable<int> tran_grp_seq
        {
            set { TRAN_GRP_SEQ = value; }
            get { return TRAN_GRP_SEQ; }
        }

        public string remarks
        {
            set { REMARKS = value; }
            get { return REMARKS; }
        }

        public Nullable<DateTime> real_petition_date
        {
            set { REAL_PETITION_DATE = value; }
            get { return REAL_PETITION_DATE; }
        }

        public string petition_no
        {
            set { PETITION_NO = value; }
            get { return PETITION_NO; }
        }

        public Nullable<int> bgm_exp_grp_seq
        {
            set { BGM_EXP_GRP_SEQ = value; }
            get { return BGM_EXP_GRP_SEQ; }
        }

        public string bgm_source_name
        {
            set { BGM_SOURCE_NAME = value; }
            get { return BGM_SOURCE_NAME; }
        }

        public string petition_type_name
        {
            set { PETITION_TYPE_NAME = value; }
            get { return PETITION_TYPE_NAME; }
        }

        public Nullable<double> sum_amount
        {
            set { SUM_AMOUNT = value; }
            get { return SUM_AMOUNT; }
        }

        public Nullable<double> sum_amount_tax
        {
            set { SUM_AMOUNT_TAX = value; }
            get { return SUM_AMOUNT_TAX; }
        }

        public Nullable<double> sum_amount_penalty
        {
            set { SUM_AMOUNT_PENALTY = value; }
            get { return SUM_AMOUNT_PENALTY; }
        }

        public Nullable<double> sum_amount_redemption
        {
            set { SUM_AMOUNT_REDEMPTION = value; }
            get { return SUM_AMOUNT_REDEMPTION; }
        }

        public Nullable<double> sum_amount_fund
        {
            set { SUM_AMOUNT_FUND = value; }
            get { return SUM_AMOUNT_FUND; }
        }

        public Nullable<double> sum_amount_real
        {
            set { SUM_AMOUNT_REAL = value; }
            get { return SUM_AMOUNT_REAL; }
        }


        public Nullable<int> approved_by
        {
            set { APPROVED_BY = value; }
            get { return APPROVED_BY; }
        }

        public Nullable<DateTime> approved_when
        {
            set { APPROVED_WHEN = value; }
            get { return APPROVED_WHEN; }
        }

        public string record_status
        {
            set { RECORD_STATUS = value; }
            get { return RECORD_STATUS; }
        }

        public string record_status_name
        {
            set { RECORD_STATUS_NAME = value; }
            get { return RECORD_STATUS_NAME; }
        }

        public Nullable<int> created_by
        {
            set { CREATED_BY = value; }
            get { return CREATED_BY; }
        }

        public Nullable<DateTime> created_when
        {
            set { CREATED_WHEN = value; }
            get { return CREATED_WHEN; }
        }

        public Nullable<int> updated_by
        {
            set { UPDATED_BY = value; }
            get { return UPDATED_BY; }
        }

        public Nullable<DateTime> updated_when
        {
            set { UPDATED_WHEN = value; }
            get { return UPDATED_WHEN; }
        }
    }
}
